/*
 *    Copyright (c) 2018-2025, infomng All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the pig4cloud.com developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: infomng
 */

import request from "@/router/axios";

export function fetchList(query) {
  return request({
    url: "/admin-api/o3-workorder/workorderreport/page",
    method: "get",
    params: query,
  });
}

export function getListData(query) {
  return request({
    url: "/admin-api/o3-workorder/workorderreport/getListData",
    method: "get",
    params: query,
  });
}
export function addObj(obj) {
  return request({
    url: "/admin-api/o3-workorder/workorderreport",
    method: "post",
    data: obj,
  });
}

export function getObj(id) {
  return request({
    url: "/admin-api/o3-workorder/workorderreport/" + id,
    method: "get",
  });
}

export function delObj(id) {
  return request({
    url: "/admin-api/o3-workorder/workorderreport/" + id,
    method: "delete",
  });
}

export function putObj(obj) {
  return request({
    url: "/admin-api/o3-workorder/workorderreport",
    method: "put",
    data: obj,
  });
}
/**
 * 生产报工
 * @param obj
 * @returns {*}
 */
export function saveWorkOrderReport(obj) {
  return request({
    url: "/admin-api/o3-workorder/workorderreport/saveWorkOrderReport",
    method: "post",
    data: obj,
  });
}
/**
 * 开始生产
 * @param obj
 * @returns {AxiosPromise}
 */
export function startScheduleProduct(id, moStatus) {
  return request({
    url:
      "/admin-api/o3-workorder/workorderreport/startScheduleProduct/" +
      id +
      "/" +
      moStatus,
    method: "get",
  });
}

/**
 * 生产暂停
 * @param obj
 * @returns {AxiosPromise}
 */
export function pauseScheduleProduct(id, moStatus) {
  return request({
    url:
      "/admin-api/o3-workorder/workorderreport/pauseScheduleProduct/" +
      id +
      "/" +
      moStatus,
    method: "get",
  });
}

/**
 * 完工
 * @param obj
 * @returns {AxiosPromise}
 */
export function endScheduleProduct(id, moStatus) {
  return request({
    url:
      "/admin-api/o3-workorder/workorderreport/endScheduleProduct/" +
      id +
      "/" +
      moStatus,
    method: "get",
  });
}

/**
 * 完工
 * @param obj
 * @returns {AxiosPromise}
 */
export function getPersonWorkOrderReportInfo(jobNo) {
  return request({
    url:
      "/admin-api/o3-pfoc/linecraftprocessdevicedetailed/getPersonWorkOrderReportInfo/" +
      jobNo,
    method: "get",
  });
}
